package com.gary.service;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

/**
 * @author pengrui
 * @date 2020/12/2 - 11:51
 */
@Service
public class ScheduleService {

    /**
     *  cron 表达式
     *  second,   0-59
     *  minute,   0-59
     *  hour,     0-23
     *  day of month,  1-31
     *  month,  1-12
     *  and day of week 0-7 OR SUN-SAT  0,7 = SUN
     *
     *  特殊字符    表达含义
     *  ,           枚举
     *  -           区间
     *  *           任意
     *  /           步长
     *  ?           日/星期冲突匹配
     *  L           最后
     *  W           工作日
     *  C           和calendar联系后计算过的值
     *  #           星期，4#2，第二个星期四
     *  示例： * * * * * MON-FRI means once per second on weekdays
     *  0 * * * * MON-FRI means once per minute on weekdays
     *  0/4 * * * * MON-SAT
     *   [0 0/5 14,18 * * ?] 每天的14点 18点，每5分钟执行一次
     *   [0 15 10 ？ * 1-6] 周一到周六 10：:1执行
     *   [0 0 2 ？ * 6L] 每个月的最后一个周六凌晨2点执行一次
     *   [0 0 2 LW * ?] 每个月 最后一个工作日凌晨2点执行一次
     *   [0 0 2-4 ？ * 1#1] 每个月的第一个星期一2点到4点之间，每个整点执行一次
     */
    @Scheduled(cron = "0 * * * * MON-FRI")
    public void scheduleHello() {
        System.out.println("hello");
    }
}
